// File:    CategoriaIncidencia.cs
// Author:  bigmaster
// Created: viernes, 22 de noviembre de 2013 1:14:56
// Purpose: Definition of Class CategoriaIncidencia

using System;

public class CategoriaIncidencia
{
   public int idCategoriaIncidencia;
   public string nombreCategoriaIncidencia;
   
   public System.Collections.Generic.List<Incidencia> incidencia;
   
   /// <summary>
   /// Property for collection of Incidencia
   /// </summary>
   /// <pdGenerated>Default opposite class collection property</pdGenerated>
   public System.Collections.Generic.List<Incidencia> Incidencia
   {
      get
      {
         if (incidencia == null)
            incidencia = new System.Collections.Generic.List<Incidencia>();
         return incidencia;
      }
      set
      {
         RemoveAllIncidencia();
         if (value != null)
         {
            foreach (Incidencia oIncidencia in value)
               AddIncidencia(oIncidencia);
         }
      }
   }
   
   /// <summary>
   /// Add a new Incidencia in the collection
   /// </summary>
   /// <pdGenerated>Default Add</pdGenerated>
   public void AddIncidencia(Incidencia newIncidencia)
   {
      if (newIncidencia == null)
         return;
      if (this.incidencia == null)
         this.incidencia = new System.Collections.Generic.List<Incidencia>();
      if (!this.incidencia.Contains(newIncidencia))
      {
         this.incidencia.Add(newIncidencia);
         newIncidencia.AddCategoriaIncidencia(this);      
      }
   }
   
   /// <summary>
   /// Remove an existing Incidencia from the collection
   /// </summary>
   /// <pdGenerated>Default Remove</pdGenerated>
   public void RemoveIncidencia(Incidencia oldIncidencia)
   {
      if (oldIncidencia == null)
         return;
      if (this.incidencia != null)
         if (this.incidencia.Contains(oldIncidencia))
         {
            this.incidencia.Remove(oldIncidencia);
            oldIncidencia.RemoveCategoriaIncidencia(this);
         }
   }
   
   /// <summary>
   /// Remove all instances of Incidencia from the collection
   /// </summary>
   /// <pdGenerated>Default removeAll</pdGenerated>
   public void RemoveAllIncidencia()
   {
      if (incidencia != null)
      {
         System.Collections.ArrayList tmpIncidencia = new System.Collections.ArrayList();
         foreach (Incidencia oldIncidencia in incidencia)
            tmpIncidencia.Add(oldIncidencia);
         incidencia.Clear();
         foreach (Incidencia oldIncidencia in tmpIncidencia)
            oldIncidencia.RemoveCategoriaIncidencia(this);
         tmpIncidencia.Clear();
      }
   }

}